package ar.com.vates.ejercicio1;

import java.sql.*;

public class GestionAlumnos {

	public void alta(String email, String clave, String nombre,
			String apellidos, int edad) {
		String sql = "INSERT INTO alumnos (email,clave,nombre,apellidos,edad)"
				+ " VALUES ('" + email + "', '" + clave + "', '" + nombre
				+ "', '" + apellidos + "'," + edad + ");";
		Connection con = conectar();
		try {
			Statement consulta = con.createStatement();
			if (consulta.executeUpdate(sql) != 0)
				;
			System.out.println("se agrego el alumno");
			con.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}

	}

	public void baja() {
		// TODO Auto-generated method stub

	}

	public void listar() {
		String sql = "select nombre,apellidos,email,edad from alumnos";
		Connection con = conectar();
		try {
			// Crear objeto Statement para realizar queries a la base de datos
			Statement consulta = con.createStatement();

			// Consultar a la base de datos
			ResultSet respuesta = consulta.executeQuery(sql);

			// Procesar los resultados de la consulta
			StringBuffer resultado = new StringBuffer();
			ResultSetMetaData metadata = respuesta.getMetaData();
			int nroColumnas = metadata.getColumnCount();

			for (int i = 1; i <= nroColumnas; i++) {
				resultado.append(metadata.getColumnName(i).trim() + "\t");
			}
			resultado.append("\n");

			while (respuesta.next()) {
				for (int i = 1; i <= nroColumnas; i++) {
					resultado.append(respuesta.getObject(i).toString().trim()+ "\t");
				}

				resultado.append("\n");
			}
			System.out.println(resultado.toString());
			con.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	private Connection conectar() {

		Connection conexion = null;
		// Cargar clase de controlador de base de datos
		try {
			Class.forName("com.mysql.jdbc.Driver");
			// Establecer conexion a la base de datos
			conexion = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/vsp vates", "root", "admin");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return conexion;
	}
}
